Abstract
El objetivo de este proyecto es **Visualizar y Modelar la Estructura del Mercado**. Durante el siguiente documento se realizará el análisis de distintas criptomonedas BTC, BNB y DOGE, a traves de los Exchanges BitMart, Gate.io y Bitget; se le realizarán comparaciones mediante distintas métricas, para finalmente realizar el modelo de Roll que nos ayudará a comprender mejor como funcionan las microestructuras de los mercados y lograr el objetivo del proyecto.
La estructura del mercado se refiere a la forma en que los diferentes agentes interactúan entre sí mismos y con distintos agentes dentro y fuera de un mercado. Dentro de la estructura se describe el estado de los oferentes (ofertas Ask) y demandantes (ofertas Bid) para los distintos activos.
Las microestructuras del mercado son aquellas donde se contemplan las reglas y sistemas de traiding usados dentro de las operaciones de un mercado con el objetivo de predecir precios y diseñar estrategias de inversión. Estas reglas afectan la eficencia del precio, la liquidez y las ganancias, debido a que priorizan distintas operaciones y se manejan de maneras distintas, algunos ejemplos de reglas de una microestructura de mercado son las siguientes: regla de prioridad de órdenes, reglas del Spread, Reglas de tamaño del lote mínimo, reglas por volumen, etc.
En este proyecto, se tiene como objetivo el visualizar y modelar la microestructura del mercado de 3 distintas criptomonedas en 3 distintos exchanges.
Una criptomoneda es un activo digital que emplea un cifrado criptográfico para garantizar que cada moneda tenga una singularidad que asegure la titularidad, así mismo, para poder realizar transacciones y que sea controlable la creación de estas para evitar un desequilibrio entre la oferta y la demanda.
Los Exchanges son portales o plataformas por los cuales los inversores realizan intercambios con base en la oferta y la demanda, existen muchas formas de blindar una cartera de criptomonedas, no obstante, se esta expuesto a constantes ataques ciberneticos ya que dentro de los exchanges la moneda pasa a control del mismo dando una ilusión al usuario de control, a menos que este poseea una Wallet que proteja sus activos. No estan regulada por ningun banco o país funcionando a libre mercado, pero no cuentan con mecanismos de protección al cliente que le cubran su inversión en caso de alguna pérdida o robo.
Al ser distintos exchanges existen ciertas fluctuaciones del valor de las criptomonedas, puesto que todo depende de si se pacta un precio o no, por lo que compararemos 3 exchanges disintos BitMart, Gate.io y Bitget, para visualizar las diferencias de uno del otro, así coo identificar que tan volatiles son en un aventana de tiempo, usando tambien el modelo de Roll para evaluarlo.
También como parte del proyecto, se realizó el cálculo del Effective Spread por medio del Modelo Roll (el cual se describe más adelante en este documento), el cual es de gran utilidad al planear estrategias de inversión, pues nos brinda una estimación del spread entre los precios de cierre dentro de una ventana de tiempo.
In order to run this notebook, it is necessary to have installed and/or have the requirements.txt file with the following:
The following are the file dependencies that are needed to run this notebook:
La obtención de estos datos fue mediante una función con el uso de la librería ccxt, la cual se puede encontrar en el documento de functions.py.
import data as dt
import functions as fun
import visualizations as vs
Para la realización de este proyecto, era necesario contar con el libro de ordenes de criptomonedas en distintos exchanges, sin embargo, debido a las limitaciones de la librería ccxt, la cual únicamente puede consultar datos en tiempo real, se realizo una función con el objetivo de almacenar todos los datos del Order Book (Ask, Bid, AskVolume, BidVolume, Level y Closes) para cada TimeStamp dentro de una hora, además se calculo el Spread, definido como la diferencia entre Ask y Bid.
Posteriormente los datos de cada criptomoneda fueron almacenados en un archivo csv, con el objetivo de hacer más sencillo el acceso y manejo de estos.
Las criptomonedas utilizadas para este proyecto son las siguientes:
Se decidió usar los datos de las siguientes plataformas de comercio de criptomonedas:
dt.data_1
| Ask | AVolume | Bid | BVolume | Exchange | Ticker | TimeStamp | Spread | Levels | Closes | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 16817.81 | 0.02713 | 16816.46 | 0.21544 | BitMart | BTC/USDT | 2022-11-11T19:17:34.826Z | 1.35 | 20 | 16822.65 |
| 1 | 16818.36 | 0.20460 | 16816.26 | 0.30398 | BitMart | BTC/USDT | 2022-11-11T19:17:34.826Z | 2.10 | 20 | 16835.48 |
| 2 | 16819.58 | 0.02680 | 16816.16 | 0.17730 | BitMart | BTC/USDT | 2022-11-11T19:17:34.826Z | 3.42 | 20 | 16819.26 |
| 3 | 16819.73 | 0.20869 | 16815.96 | 0.19844 | BitMart | BTC/USDT | 2022-11-11T19:17:34.826Z | 3.77 | 20 | 16730.68 |
| 4 | 16820.13 | 0.17302 | 16815.45 | 0.07775 | BitMart | BTC/USDT | 2022-11-11T19:17:34.826Z | 4.68 | 20 | 16682.55 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 5935 | 16696.07 | 0.01990 | 16688.04 | 0.13870 | Bitget | BTC/USDT | 2022-11-11T20:17:33.065Z | 8.03 | 20 | 16732.82 |
| 5936 | 16696.13 | 0.01210 | 16687.95 | 0.35460 | Bitget | BTC/USDT | 2022-11-11T20:17:33.065Z | 8.18 | 20 | 16728.11 |
| 5937 | 16696.16 | 0.20790 | 16687.87 | 0.04000 | Bitget | BTC/USDT | 2022-11-11T20:17:33.065Z | 8.29 | 20 | 16700.60 |
| 5938 | 16696.26 | 0.01210 | 16687.84 | 0.02480 | Bitget | BTC/USDT | 2022-11-11T20:17:33.065Z | 8.42 | 20 | 16702.37 |
| 5939 | 16696.41 | 0.20000 | 16687.75 | 0.01380 | Bitget | BTC/USDT | 2022-11-11T20:17:33.065Z | 8.66 | 20 | 16672.94 |
5940 rows × 10 columns
dt.data_2
| Ask | AVolume | Bid | BVolume | Exchange | Ticker | TimeStamp | Spread | Levels | Closes | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 287.64 | 0.4900 | 287.46 | 0.3900 | BitMart | BNB/USDT | 2022-11-11T19:17:35.659Z | 0.18 | 20 | 287.00 |
| 1 | 287.65 | 0.2900 | 287.45 | 0.3000 | BitMart | BNB/USDT | 2022-11-11T19:17:35.659Z | 0.20 | 20 | 287.24 |
| 2 | 287.67 | 0.5900 | 287.43 | 0.2100 | BitMart | BNB/USDT | 2022-11-11T19:17:35.659Z | 0.24 | 20 | 287.15 |
| 3 | 287.68 | 0.5100 | 287.42 | 0.3400 | BitMart | BNB/USDT | 2022-11-11T19:17:35.659Z | 0.26 | 20 | 286.08 |
| 4 | 287.69 | 0.3800 | 287.40 | 0.1400 | BitMart | BNB/USDT | 2022-11-11T19:17:35.659Z | 0.29 | 20 | 285.30 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 5935 | 287.07 | 126.7319 | 286.00 | 1.3113 | Bitget | BNB/USDT | 2022-11-11T20:17:33.630Z | 1.07 | 20 | 287.08 |
| 5936 | 287.08 | 39.3392 | 285.99 | 31.5348 | Bitget | BNB/USDT | 2022-11-11T20:17:33.630Z | 1.09 | 20 | 287.03 |
| 5937 | 287.09 | 0.8283 | 285.97 | 0.9234 | Bitget | BNB/USDT | 2022-11-11T20:17:33.630Z | 1.12 | 20 | 286.75 |
| 5938 | 287.10 | 1.1265 | 285.96 | 34.5804 | Bitget | BNB/USDT | 2022-11-11T20:17:33.630Z | 1.14 | 20 | 286.22 |
| 5939 | 287.11 | 32.4866 | 285.93 | 84.9759 | Bitget | BNB/USDT | 2022-11-11T20:17:33.630Z | 1.18 | 20 | 286.19 |
5940 rows × 10 columns
dt.data_3
| Ask | AVolume | Bid | BVolume | Exchange | Ticker | TimeStamp | Spread | Levels | Closes | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0.082952 | 445.0000 | 0.082904 | 1030.0000 | BitMart | DOGE/USDT | 2022-11-11T19:17:36.356Z | 0.000048 | 20 | 0.082763 |
| 1 | 0.082961 | 786.0000 | 0.082903 | 534.0000 | BitMart | DOGE/USDT | 2022-11-11T19:17:36.356Z | 0.000058 | 20 | 0.082847 |
| 2 | 0.082966 | 485.0000 | 0.082901 | 1115.0000 | BitMart | DOGE/USDT | 2022-11-11T19:17:36.356Z | 0.000065 | 20 | 0.082896 |
| 3 | 0.082967 | 1382.0000 | 0.082899 | 1188.0000 | BitMart | DOGE/USDT | 2022-11-11T19:17:36.356Z | 0.000068 | 20 | 0.082271 |
| 4 | 0.082969 | 1303.0000 | 0.082898 | 711.0000 | BitMart | DOGE/USDT | 2022-11-11T19:17:36.356Z | 0.000071 | 20 | 0.082246 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 5935 | 0.082076 | 33580.7831 | 0.081824 | 11475.6641 | Bitget | DOGE/USDT | 2022-11-11T20:17:34.193Z | 0.000252 | 20 | 0.082343 |
| 5936 | 0.082086 | 14334.8964 | 0.081820 | 3000.0021 | Bitget | DOGE/USDT | 2022-11-11T20:17:34.193Z | 0.000266 | 20 | 0.082285 |
| 5937 | 0.082096 | 52739.7177 | 0.081818 | 3000.0020 | Bitget | DOGE/USDT | 2022-11-11T20:17:34.193Z | 0.000278 | 20 | 0.081855 |
| 5938 | 0.082101 | 3005.6202 | 0.081814 | 45579.8304 | Bitget | DOGE/USDT | 2022-11-11T20:17:34.193Z | 0.000287 | 20 | 0.081862 |
| 5939 | 0.082106 | 59686.5937 | 0.081810 | 17084.5785 | Bitget | DOGE/USDT | 2022-11-11T20:17:34.193Z | 0.000296 | 20 | 0.081812 |
5940 rows × 10 columns
Para la visualización de la microestructura, es necesario calcular los siguientes datos:
Midprice, precio medio, es el precio entre el mejor precio de los vendedores de la acción y el mejor precio de los compradores de la acción.
$$ Midprice = \frac{Ask + Bid}{2}$$VWAP, precio medio ponderado por volumen, es una herramienta de análisis técnico que marca una línea en el gráfico indicando la relación entre el precio y el volumen en un determinado tiempo.
$$ VWAP = \frac{\sum (Total Volume * Midprice)}{\sum Total Volume}$$dt.data_AA
| Exchange | TimeStamp | Ask_Volume | Ask | Bid_Volume | Bid | Total_Volume | Mid_Price | VWAP | Ticker | Spread | Closes | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | BitMart | 2022-11-11T19:17:34.826Z | 0.02713 | 16817.81 | 0.21544 | 16816.46 | 0.24257 | 16817.135 | 16817.135000 | BTC/USDT | 1.35 | 16822.65 |
| 1 | BitMart | 2022-11-11T19:17:34.826Z | 0.20460 | 16818.36 | 0.30398 | 16816.26 | 0.50858 | 16817.310 | 16817.253487 | BTC/USDT | 2.10 | 16835.48 |
| 2 | BitMart | 2022-11-11T19:17:34.826Z | 0.02680 | 16819.58 | 0.17730 | 16816.16 | 0.20410 | 16817.870 | 16817.385212 | BTC/USDT | 3.42 | 16819.26 |
| 3 | BitMart | 2022-11-11T19:17:34.826Z | 0.20869 | 16819.73 | 0.19844 | 16815.96 | 0.40713 | 16817.845 | 16817.522614 | BTC/USDT | 3.77 | 16730.68 |
| 4 | BitMart | 2022-11-11T19:17:34.826Z | 0.17302 | 16820.13 | 0.07775 | 16815.45 | 0.25077 | 16817.790 | 16817.564180 | BTC/USDT | 4.68 | 16682.55 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 5935 | Bitget | 2022-11-11T20:17:33.065Z | 0.01990 | 16696.07 | 0.13870 | 16688.04 | 0.15860 | 16692.055 | 16795.286834 | BTC/USDT | 8.03 | 16732.82 |
| 5936 | Bitget | 2022-11-11T20:17:33.065Z | 0.01210 | 16696.13 | 0.35460 | 16687.95 | 0.36670 | 16692.040 | 16795.278484 | BTC/USDT | 8.18 | 16728.11 |
| 5937 | Bitget | 2022-11-11T20:17:33.065Z | 0.20790 | 16696.16 | 0.04000 | 16687.87 | 0.24790 | 16692.015 | 16795.272839 | BTC/USDT | 8.29 | 16700.60 |
| 5938 | Bitget | 2022-11-11T20:17:33.065Z | 0.01210 | 16696.26 | 0.02480 | 16687.84 | 0.03690 | 16692.050 | 16795.271999 | BTC/USDT | 8.42 | 16702.37 |
| 5939 | Bitget | 2022-11-11T20:17:33.065Z | 0.20000 | 16696.41 | 0.01380 | 16687.75 | 0.21380 | 16692.080 | 16795.267134 | BTC/USDT | 8.66 | 16672.94 |
5940 rows × 12 columns
# grafica Ask Volume
vs.grafica_data_ABC(dt.data_AA,'Ask_Volume',"Grafica del Ask Volume de BTC/USDT")
vs.grafica_data_ABC(dt.data_AA,'Bid_Volume',"Grafica del Bid Volume de BTC/USDT")
vs.grafica_data_ABC(dt.data_AA,'Total_Volume',"Grafica del Total Volume de BTC/USDT")
vs.grafica_data_ABC(dt.data_AA,'Mid_Price',"Grafica del Middle Price de BTC/USDT")
vs.grafica_data_ABC(dt.data_AA,'VWAP',"Grafica del VWAP de BTC/USDT")
dt.data_BB
| Exchange | TimeStamp | Ask_Volume | Ask | Bid_Volume | Bid | Total_Volume | Mid_Price | VWAP | Ticker | Spread | Closes | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | BitMart | 2022-11-11T19:17:35.659Z | 0.4900 | 287.64 | 0.3900 | 287.46 | 0.8800 | 287.550 | 287.550000 | BNB/USDT | 0.18 | 287.00 |
| 1 | BitMart | 2022-11-11T19:17:35.659Z | 0.2900 | 287.65 | 0.3000 | 287.45 | 0.5900 | 287.550 | 287.550000 | BNB/USDT | 0.20 | 287.24 |
| 2 | BitMart | 2022-11-11T19:17:35.659Z | 0.5900 | 287.67 | 0.2100 | 287.43 | 0.8000 | 287.550 | 287.550000 | BNB/USDT | 0.24 | 287.15 |
| 3 | BitMart | 2022-11-11T19:17:35.659Z | 0.5100 | 287.68 | 0.3400 | 287.42 | 0.8500 | 287.550 | 287.550000 | BNB/USDT | 0.26 | 286.08 |
| 4 | BitMart | 2022-11-11T19:17:35.659Z | 0.3800 | 287.69 | 0.1400 | 287.40 | 0.5200 | 287.545 | 287.549286 | BNB/USDT | 0.29 | 285.30 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 5935 | Bitget | 2022-11-11T20:17:33.630Z | 126.7319 | 287.07 | 1.3113 | 286.00 | 128.0432 | 286.535 | 287.574309 | BNB/USDT | 1.07 | 287.08 |
| 5936 | Bitget | 2022-11-11T20:17:33.630Z | 39.3392 | 287.08 | 31.5348 | 285.99 | 70.8740 | 286.535 | 287.573644 | BNB/USDT | 1.09 | 287.03 |
| 5937 | Bitget | 2022-11-11T20:17:33.630Z | 0.8283 | 287.09 | 0.9234 | 285.97 | 1.7517 | 286.530 | 287.573627 | BNB/USDT | 1.12 | 286.75 |
| 5938 | Bitget | 2022-11-11T20:17:33.630Z | 1.1265 | 287.10 | 34.5804 | 285.96 | 35.7069 | 286.530 | 287.573291 | BNB/USDT | 1.14 | 286.22 |
| 5939 | Bitget | 2022-11-11T20:17:33.630Z | 32.4866 | 287.11 | 84.9759 | 285.93 | 117.4625 | 286.520 | 287.572175 | BNB/USDT | 1.18 | 286.19 |
5940 rows × 12 columns
vs.grafica_data_ABC(dt.data_BB,'Ask_Volume',"Grafica del Ask Volume de BTC/USDT")
vs.grafica_data_ABC(dt.data_BB,'Bid_Volume',"Grafica del Bid Volume de BNB/USDT")
vs.grafica_data_ABC(dt.data_BB,'Total_Volume',"Grafica del Total Volume de BNB/USDT")
vs.grafica_data_ABC(dt.data_BB,'Mid_Price',"Grafica del Middle Price de BNB/USDT")
vs.grafica_data_ABC(dt.data_BB,'VWAP',"Grafica del VWAP de BNB/USDT")
dt.data_CC
| Exchange | TimeStamp | Ask_Volume | Ask | Bid_Volume | Bid | Total_Volume | Mid_Price | VWAP | Ticker | Spread | Closes | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | BitMart | 2022-11-11T19:17:36.356Z | 445.0000 | 0.082952 | 1030.0000 | 0.082904 | 1475.0000 | 0.082928 | 0.082928 | DOGE/USDT | 0.000048 | 0.082763 |
| 1 | BitMart | 2022-11-11T19:17:36.356Z | 786.0000 | 0.082961 | 534.0000 | 0.082903 | 1320.0000 | 0.082932 | 0.082930 | DOGE/USDT | 0.000058 | 0.082847 |
| 2 | BitMart | 2022-11-11T19:17:36.356Z | 485.0000 | 0.082966 | 1115.0000 | 0.082901 | 1600.0000 | 0.082933 | 0.082931 | DOGE/USDT | 0.000065 | 0.082896 |
| 3 | BitMart | 2022-11-11T19:17:36.356Z | 1382.0000 | 0.082967 | 1188.0000 | 0.082899 | 2570.0000 | 0.082933 | 0.082932 | DOGE/USDT | 0.000068 | 0.082271 |
| 4 | BitMart | 2022-11-11T19:17:36.356Z | 1303.0000 | 0.082969 | 711.0000 | 0.082898 | 2014.0000 | 0.082933 | 0.082932 | DOGE/USDT | 0.000071 | 0.082246 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 5935 | Bitget | 2022-11-11T20:17:34.193Z | 33580.7831 | 0.082076 | 11475.6641 | 0.081824 | 45056.4472 | 0.081950 | 0.082787 | DOGE/USDT | 0.000252 | 0.082343 |
| 5936 | Bitget | 2022-11-11T20:17:34.193Z | 14334.8964 | 0.082086 | 3000.0021 | 0.081820 | 17334.8985 | 0.081953 | 0.082787 | DOGE/USDT | 0.000266 | 0.082285 |
| 5937 | Bitget | 2022-11-11T20:17:34.193Z | 52739.7177 | 0.082096 | 3000.0020 | 0.081818 | 55739.7197 | 0.081957 | 0.082787 | DOGE/USDT | 0.000278 | 0.081855 |
| 5938 | Bitget | 2022-11-11T20:17:34.193Z | 3005.6202 | 0.082101 | 45579.8304 | 0.081814 | 48585.4506 | 0.081957 | 0.082787 | DOGE/USDT | 0.000287 | 0.081862 |
| 5939 | Bitget | 2022-11-11T20:17:34.193Z | 59686.5937 | 0.082106 | 17084.5785 | 0.081810 | 76771.1722 | 0.081958 | 0.082786 | DOGE/USDT | 0.000296 | 0.081812 |
5940 rows × 12 columns
vs.grafica_data_ABC(dt.data_CC,'Ask_Volume',"Grafica del Ask Volume de DOGE/USDT")
vs.grafica_data_ABC(dt.data_CC,'Bid_Volume',"Grafica del Bid Volume de DOGE/USDT")
vs.grafica_data_ABC(dt.data_CC,'Total_Volume',"Grafica del Total Volume de DOGE/USDT")
vs.grafica_data_ABC(dt.data_CC,'Mid_Price',"Grafica del Middle Price de DOGE/USDT")
vs.grafica_data_ABC(dt.data_CC,'VWAP',"Grafica del VWAP de DOGE/USDT")
Para el modelado de la microestructura se utilizo la información obtenida del OB y OHLC en el punto 1 del laboratorio y se estimo el Effective Spread de Roll utilizando la siguiente ecuación:
$$ 2\sqrt{|cov(\Delta P_t, \Delta P_{t-1})|}$$Debido a la naturaleza de los datos utilizados, los cuales no son continuos, la covarianza se calculo de todos los Close prices dentro del mismo TimeStamp, los cuales tienen una diferencia entre sí de al rededor de 12 segundos, debido al sleep de 10 segundos dentro de la función al descargar los datos y el tiempo de procesamiento y almacenamiento de los mismos.
Consideraciones: La utilización en este proyecto esta basada en el Roll's Model (1984), el cual nos permite estimat el Spread y propone lo siguiente: En un mercado eficiente, el valor fundamental de un valor fluctúa aleatoriamente. Sin embargo, los costos comerciales inducen una dependencia serial negativa en los cambios en los precios de mercado. De hecho, dada la eficiencia del mercado, el diferencial de oferta y demanda efectivo se puede medir por
$$\text{Roll's Spred} = 2\sqrt{-cov(\Delta P_t, \Delta P_{t-1})}$$Esta medida implícita del diferencial entre oferta y demanda se deriva formalmente y se demuestra empíricamente que está estrechamente relacionada con el tamaño del exchange.
fun.modMicro(dt.data_AA)
| TimeStamp | Close | Spread | Effective Spread | |
|---|---|---|---|---|
| 0 | 2022-11-11T19:17:34.826Z | 16773.6735 | 17.3280 | 40.146902 |
| 1 | 2022-11-11T19:17:48.647Z | 16766.1950 | 21.7950 | 41.827299 |
| 2 | 2022-11-11T19:18:03.271Z | 16770.3395 | 8.6310 | 38.711731 |
| 3 | 2022-11-11T19:18:15.117Z | 16773.1005 | 30.3330 | 34.963684 |
| 4 | 2022-11-11T19:18:26.339Z | 16766.1300 | 15.1250 | 38.022354 |
| ... | ... | ... | ... | ... |
| 292 | 2022-11-11T20:16:44.596Z | 16779.0800 | 14.8200 | 4.034301 |
| 293 | 2022-11-11T20:16:56.708Z | 16785.7095 | 7.5910 | 5.206985 |
| 294 | 2022-11-11T20:17:08.524Z | 16785.4000 | 30.1445 | 7.263306 |
| 295 | 2022-11-11T20:17:20.356Z | 16770.6650 | 20.4100 | 2.752111 |
| 296 | 2022-11-11T20:17:33.065Z | 16777.0705 | 6.9455 | 4.581271 |
297 rows × 4 columns
fun.modMicro(dt.data_BB)
| TimeStamp | Close | Spread | Effective Spread | |
|---|---|---|---|---|
| 0 | 2022-11-11T19:17:35.659Z | 286.4600 | 0.449500 | 0.377250 |
| 1 | 2022-11-11T19:17:49.454Z | 286.3675 | 0.838215 | 0.498692 |
| 2 | 2022-11-11T19:18:03.935Z | 286.4220 | 0.848000 | 0.361350 |
| 3 | 2022-11-11T19:18:15.704Z | 286.4925 | 0.424000 | 0.328956 |
| 4 | 2022-11-11T19:18:27.211Z | 286.3875 | 0.767060 | 0.404708 |
| ... | ... | ... | ... | ... |
| 292 | 2022-11-11T20:16:45.685Z | 287.5965 | 1.144300 | 0.195196 |
| 293 | 2022-11-11T20:16:57.267Z | 287.5100 | 0.816000 | 0.124079 |
| 294 | 2022-11-11T20:17:09.664Z | 287.6475 | 0.468000 | 0.103441 |
| 295 | 2022-11-11T20:17:21.992Z | 287.4855 | 1.146270 | 0.139236 |
| 296 | 2022-11-11T20:17:33.630Z | 287.4070 | 0.837000 | 0.159972 |
297 rows × 4 columns
fun.modMicro(dt.data_CC)
| TimeStamp | Close | Spread | Effective Spread | |
|---|---|---|---|---|
| 0 | 2022-11-11T19:17:36.356Z | 0.082606 | 0.000216 | 0.000102 |
| 1 | 2022-11-11T19:17:49.181Z | 0.082531 | 0.000197 | 0.000143 |
| 2 | 2022-11-11T19:18:04.542Z | 0.082570 | 0.000179 | 0.000089 |
| 3 | 2022-11-11T19:18:16.638Z | 0.082612 | 0.000576 | 0.000076 |
| 4 | 2022-11-11T19:18:27.498Z | 0.082540 | 0.000210 | 0.000096 |
| ... | ... | ... | ... | ... |
| 292 | 2022-11-11T20:16:44.891Z | 0.082709 | 0.000248 | 0.000132 |
| 293 | 2022-11-11T20:16:57.789Z | 0.082683 | 0.000183 | 0.000041 |
| 294 | 2022-11-11T20:17:11.126Z | 0.082769 | 0.000163 | 0.000048 |
| 295 | 2022-11-11T20:17:21.576Z | 0.082639 | 0.000203 | 0.000126 |
| 296 | 2022-11-11T20:17:34.193Z | 0.082609 | 0.000198 | 0.000038 |
297 rows × 4 columns
Durante el laboratorio 4 surgieron bastantes interrogantes sobre como íbamos a lograr representar la teoría del modelo de Roll, el Spread y el Efective Spread, puesto que teníamos que descargar precios de 3 Exchange y almacenarlos en tiempo real, además de descargar esos mismos datos pero del OHLC de las mismas criptomonedas. Cruzamos bastantes desafíos a la hora de aterrizar los conceptos y de elegir el Exchange que estuviese disponible en cualquier momento que eligiéramos. Logramos completar nuestros cometidos y obtuvimos un camino lógico que nos llevo a comprender mejor las microestructuras de los mercados.
Dependiendo del precio del activo el Spread tendía a ser muy grande o muy pequeño dependiendo del volumen del activo y de las cantidades de que se manejaran por cripto, en muchas veces la diferencia de un Spread y un Efective Spread podía llegar a ser muy precisa o muy lejana, esto debido a que el Bid y el Ask son solamente ofertas del precios, cuando el Close es el precio pactado, lo cual hace entendibles estas diferencias ya que al ser un mercado poco regulado los saltos entre oferta y demanda pueden ser muy volátiles y más en temporadas de Bull Market y crisis económica entrando en depresión económica.
El comportamiento las criptomonedas dentro de los Exchanges es muy similar entre sí, teniendo sus oscilaciones que siguen la misma tendencia lo cual nos ayuda a concluir que los mercados están entrelazados y que en caso que hubiese una brecha muy grande sería rápidamente cerrada por los inversionistas que aprovecharían de este evento en cuestión de milisegundos.
Pudimos támbien reconocer la importanciaa del Effective Spread, pues aunque en muchas ocasiones no es muy preciso, puede ayudar al inversionista a realizar estrategias más acertadas y con fundamento en los datos históricos. Pudimos notar que aunque a veces los cambios intrasegundo dentro de los precios pueden ser muy drásticos, en el tiempo tienden a regularse.
[1] Munnoz, 2020. Python project template. https://github.com/iffranciscome/python-project. (2021).
[2] Thomas E. Copeland and Dan Galai. “Information Effects on the Bid-Ask Spread.” Journal of Finance 38 (1983). https://onlinelibrary.wiley.com/doi/full/10.1111/j.1540-6261.1984.tb03897.x (2022)
[3] Dr. Sarveshwar Inani. (2015, 11 diciembre). Estimating Daily bid ask spread by Roll 1984 Model in R studio [Vídeo]. YouTube. https://www.youtube.com/watch?v=AkSmH-Civ-c
[4] Valencia, D. C. (2018). Microestructura de mercados como determinante de la tasa de cambio: Seguimiento Bibliométrico. https://www.redalyc.org/journal/290/29055767012/html/